package com.probiz.estore.content.service;

import java.util.List;

import com.probiz.estore.common.model.content.Subscriber;
import com.probiz.estore.core.service.GenericManager;

/**
 *	消息订阅者服务层接口
 *
 *	@author pengzhirong
 *
 *	@since V3.0
 *
 */
public interface SubscriberManager extends GenericManager<Subscriber> {
	/**
	 * 添加订阅者
	 */
	public void addSubscriber(String email, Integer groupId);
	
	/**
	 * 获取指定email所订阅的消息组ID列表
	 * @param email
	 * @return
	 */
	public List<Integer> getSubscribedNewsletterGroupIdsByEmail(String email);
	
	
	/**
	 * 订阅者是否存在
	 * @param email
	 * @return 存在返回true, 否则返回false
	 */
	public boolean isSubscriberExist(String email);
	
	/**
	 * 删除指定email订阅者的所有订阅
	 * @param email
	 */
	public void removeAllSubscriptions(String email);
	
	/**
	 * 获取分页email列表
	 * @param pageNo
	 * @param pageSize
	 * @param newsletterGroupIds 所在消息组id列表
	 * @return
	 */
	public List<String> searchEmails(int pageNo, int pageSize, List<String> newsletterGroupIds);
	
	
}
